// import { MD5 } from 'crypto-js'
// import { btoa } from 'Base64'
// import { keys } from 'lodash'
import Vue from 'vue'
import { Loading } from 'element-ui'
import { BaiduUrl } from 'static/sysConfig'

// const ZSTJAppKey = 'HZ_PME_API_V1'
// const ZSTJAppSecret = '1!2@3#4$5%6^'

// // 生成相关的验签
// let Authorizations = {
//   ZSTJ: function (param) {      // 掌上体检APP接口验签
//     var preSign = Object.assign(param, {
//       secret: ZSTJAppSecret
//     })
//     // 1. 根据 Key 排序
//     var arrKeyPreSign = keys(preSign).sort()
//     var arrPreSign = {}
//     arrKeyPreSign.forEach(function (key, index, arr) {
//       arrPreSign[key] = preSign[key]
//     })
//     // 2. 把对象转换为小写的字符串
//     var newPreSign = JSON.stringify(arrPreSign).toLowerCase()
//     // 3. 生成相关的验签
//     var safeStr = unescape(encodeURIComponent(`${ZSTJAppKey}:${MD5(newPreSign)}`))
//     // 4. Base64 加密
//     return `Basic ${btoa(safeStr)}`
//   }
// }

// let CombineUrl = (url, type) => {

// }

export default {
  BaiduGet(url, callback){
    var options = { headers: { 'apikey': '9478d7933375c54d6824351e46cb9086' } }
    this.Get(`${BaiduUrl}${url}`, callback, options)
  },
  Get: (url, callback, headers = {}) => {
    let loadingInstance = Loading.service({})
    Vue.http.get(url, headers).then(function (response) {
      if (response.ok) {
        callback(response.data)
      } else {
        console.log(response.status)
      }
      loadingInstance.close()
    }, function (error) {
      loadingInstance.close()
      console.log(error)
    })
  },
  Post: (url, data, callback) => {
    Vue.http.post(url, data).then(function (response) {
      console.log(response)
    }, function (error) {
      console.log(error)
    })
  }
  // Get(url, callback, type = 'ZSTJ') {
  //   ajax({
  //     url: CombineUrl(url, type),
  //     type: 'GET',
  //     dataType: 'json',
  //     data: {},
  //     beforeSend: function (xhr) {
  //       //   xhr.setRequestHeader("Authorization", Authorizations[type](data));
  //     },
  //     success: function (result) {
  //       callback(result)
  //     },
  //     error: function (xhr, errorType, error) {
  //       console.dir(error)
  //     }
  //   })
  // },
  // Post(url, data, callback, type = 'ZSTJ') {
  //   data.timespan = Math.round(new Date().getTime() / 1000)
  //   ajax({
  //     url: CombineUrl(url, type),
  //     type: 'POST',
  //     contentType: 'application/json',
  //     dataType: 'json',
  //     data: JSON.stringify(data),
  //     beforeSend: function (xhr) {
  //       xhr.setRequestHeader('Authorization', Authorizations[type](data))
  //     },
  //     success: function (result) {
  //       callback(result)
  //     },
  //     error: function (xhr, errorType, error) {
  //       console.dir(error)
  //     }
  //   })
  // }
}
